//// 模板型模板参数
//#include <iostream>
//#include <iomanip>
//using namespace std;
//
//template<typename T>class Array{
//public:
//    T& operator[](size_t i){
//        return m_arr[i];
//    }
//private:
//    T m_arr[10];
//};
//
//template<typename D,template<typename M>typename C=Array>class Sum{
//public:
//    Sum(C<D>& a):m_a(a){}
//    D add(){
//        D s = 0;
//        for(int i=0;i<10;i++)
//            s+=m_a[i];
//        return s;
//    }
//private:
//    C<D> m_a; 
//};
//int main( void ) {
//    Array<int> a;
//    for(int i=0;i<10;i++)
//        a[i] = 10+i;
//
//    Sum<int/*,Array*/> s(a);
//    cout << s.add() << endl;
//
//    return 0;
//} 
